package com.inter.mapper;

import com.inter.entity.bak.InternationalPayPackage;
import com.inter.entity.common.DevicePackageCoverPicture;
import com.inter.entity.common.DevicePackageMarketingStrategy;
import com.inter.entity.common.PartnerProductPackage;
import com.inter.entity.common.PartnerProductRefPackage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface PartnerProductPackageMapper {

    //兼容老版本H5的原始数据库的表，这边入库一份

    void bak_storagePackage(InternationalPayPackage payPackage);

    String queryPartnerNameBypartnerCode(String partnerCode);

    String queryContinent(String mccs);

    String queryContinentEN(String mccs);

    String queryCountryEN(String mccs);

    void storagePackage(PartnerProductPackage product);

    int findPictureExistOrNot(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);

    void storagePicture(DevicePackageCoverPicture picture);

    void storageRefuelingPackage(PartnerProductPackage product);

    int findPackageByPartnerCodeAndPackageCode(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);

    List<PartnerProductPackage> getProductListByPartnerCode(String partnerCode);

    List<DevicePackageCoverPicture> getPictureByPartnerCodeAndPackageCode(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);

    List<DevicePackageMarketingStrategy> getStrategyByPartnerCodeAndPackageCode(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);

    List<PartnerProductPackage> getProductListByPartnerCodeAndMcc(@Param("partnerCode") String partnerCode, @Param("coverCountryMcc") String coverCountryMcc);

    int findPackageByPartnerCodeAndPackageCodeAndRefPackageCode(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode, @Param("refPackageCode") String refPackageCode);

    void storageRefPackage(PartnerProductRefPackage refPackage);

    List<PartnerProductRefPackage> getRefPackageByPartnerCodeAndPackageCode(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);

    String queryPackageNameByCode(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);

    String queryPackageName(@Param("packageName") String packageName, @Param("partnerCode") String partnerCode);

    String querycnyByCode(@Param("partnerCode") String partnerCode, @Param("packageCode") String packageCode);

    String queryusdByCode(@Param("partnerCode") String partnerCode, @Param("packageCode") String packageCode);

    String queryPackageStatusByCode(@Param("packageCode") String packageCode, @Param("partnerCode") String partnerCode);

    void updatePackageStatus(PartnerProductPackage product);

    void storageData(PartnerProductPackage product);

    String queryNameEnByCode(@Param("partnerCode") String partnerCode, @Param("packageCode") String packageCode);

    void update_package_usage_attribute(PartnerProductPackage pro);

    String queryUsageAttributeByCode(@Param("partnerCode") String partnerCode, @Param("packageCode") String packageCode);
}
